Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin dependencies for py36 compatibility #633

Merged
merged 1 commit into from
Dec 14, 2023

Conversation

freyes
Copy link
Member

@freyes freyes commented Dec 14, 2023

macaroonbakery in version 1.3.4 started depending on protobuf>3.20 which it's not compatible with python 3.6, so this change pins macaroonbakery to 1.3.2 which was the last release compatible with older versions of protobuf.

For more details see:

It's worth to mention that there is no protobuf-4.0, it goes from 3.20 to 4.21 - https://pypi.org/project/protobuf/#history

⚠️ I'm proposing this change for stable/xena instead of master, because only Xena and older are the ones that run py36 tests in the Charmed OpenStack gate.

macaroonbakery in version 1.3.4 started depending on protobuf>3.20 which
it's not compatible with python 3.6, so this change pins macaroonbakery
to 1.3.2 which was the last release compatible with older versions of
protobuf.

For more details see:

- go-macaroon-bakery/py-macaroon-bakery#92
- protocolbuffers/protobuf#10076

It's worth to mention that there is no protobuf-4.0, it goes from 3.20
to 4.21 - https://pypi.org/project/protobuf/#history
@freyes
Copy link
Member Author

freyes commented Dec 14, 2023

This is the result of pip-compile when using the pinning proposed

#
# This file is autogenerated by pip-compile with python 3.6
# To update, run:
#
#    pip-compile --output-file=requirements.txt.compiled requirements.in
#
aiohttp==3.8.6
    # via
    #   -r requirements.in
    #   python-libmaas
aiosignal==1.2.0
    # via aiohttp
argcomplete==3.1.2
    # via python-libmaas
async-generator==1.10
    # via -r requirements.in
async-timeout==4.0.2
    # via aiohttp
asynctest==0.13.0
    # via aiohttp
attrs==22.2.0
    # via aiohttp
bcrypt==4.0.1
    # via paramiko
cachetools==4.2.4
    # via google-auth
certifi==2023.11.17
    # via
    #   kubernetes
    #   requests
cffi==1.15.1
    # via
    #   cryptography
    #   pynacl
charset-normalizer==2.0.12
    # via
    #   aiohttp
    #   requests
colorclass==2.2.2
    # via python-libmaas
cryptography==3.3.2
    # via
    #   -r requirements.in
    #   paramiko
debtcollector==2.5.0
    # via oslo.config
frozenlist==1.2.0
    # via
    #   aiohttp
    #   aiosignal
google-auth==2.22.0
    # via kubernetes
hvac==0.6.4
    # via -r requirements.in
idna==3.6
    # via
    #   idna-ssl
    #   requests
    #   yarl
idna-ssl==1.1.0
    # via aiohttp
importlib-metadata==4.8.3
    # via
    #   argcomplete
    #   debtcollector
    #   stevedore
importlib-resources==5.4.0
    # via netaddr
jinja2==3.0.3
    # via -r requirements.in
juju==2.9.46.0
    # via -r requirements.in
juju-wait==2.8.4
    # via -r requirements.in
jujubundlelib==0.5.7
    # via theblues
kubernetes==28.1.0
    # via juju
macaroonbakery==1.3.2
    # via
    #   -r requirements.in
    #   juju
    #   python-libmaas
    #   theblues
markupsafe==2.0.1
    # via jinja2
multidict==5.2.0
    # via
    #   aiohttp
    #   yarl
mypy-extensions==1.0.0
    # via typing-inspect
netaddr==0.9.0
    # via oslo.config
oauthlib==3.2.2
    # via
    #   kubernetes
    #   python-libmaas
    #   requests-oauthlib
oslo.config==6.11.3
    # via -r requirements.in
oslo.i18n==5.1.0
    # via oslo.config
paramiko==2.12.0
    # via juju
pbr==6.0.0
    # via
    #   oslo.i18n
    #   stevedore
protobuf==3.19.6 ; python_version <= "3.6"
    # via
    #   -r requirements.in
    #   macaroonbakery
pyasn1==0.5.1
    # via
    #   juju
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.3.0
    # via google-auth
pycparser==2.21
    # via cffi
pymacaroons==0.13.0
    # via macaroonbakery
pymongo==4.1.1
    # via python-libmaas
pynacl==1.5.0
    # via
    #   macaroonbakery
    #   paramiko
    #   pymacaroons
pyrfc3339==1.1
    # via
    #   juju
    #   macaroonbakery
python-dateutil==2.8.2
    # via kubernetes
python-libmaas==0.6.8
    # via -r requirements.in
pytz==2023.3.post1
    # via
    #   pyrfc3339
    #   python-libmaas
pyyaml==6.0.1
    # via
    #   -r requirements.in
    #   juju
    #   juju-wait
    #   jujubundlelib
    #   kubernetes
    #   oslo.config
    #   python-libmaas
requests==2.27.1
    # via
    #   hvac
    #   kubernetes
    #   macaroonbakery
    #   oslo.config
    #   requests-oauthlib
    #   theblues
requests-oauthlib==1.3.1
    # via kubernetes
rfc3986==1.5.0
    # via oslo.config
rsa==4.9
    # via google-auth
six==1.16.0
    # via
    #   cryptography
    #   google-auth
    #   kubernetes
    #   macaroonbakery
    #   oslo.config
    #   paramiko
    #   pymacaroons
    #   python-dateutil
stevedore==3.5.2
    # via oslo.config
tenacity==8.2.2
    # via -r requirements.in
terminaltables==3.1.10
    # via python-libmaas
theblues==0.5.2
    # via juju
toposort==1.10
    # via juju
typing-extensions==4.1.1
    # via
    #   aiohttp
    #   async-timeout
    #   importlib-metadata
    #   typing-inspect
    #   yarl
typing-inspect==0.9.0
    # via juju
urllib3==1.26.18
    # via
    #   google-auth
    #   kubernetes
    #   requests
websocket-client==1.3.1
    # via kubernetes
websockets==7.0
    # via juju
wrapt==1.16.0
    # via debtcollector
yarl==1.7.2
    # via aiohttp
zipp==3.6.0
    # via
    #   importlib-metadata
    #   importlib-resources

@freyes freyes requested review from ajkavanagh and coreycb December 14, 2023 14:09
@freyes
Copy link
Member Author

freyes commented Dec 14, 2023

This change will need to be backported to wallaby, victoria, ussuri and train.

Copy link

@coreycb coreycb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Unfortunately gate runs py36 even for focal based charms, so this is needed.

@coreycb coreycb merged commit 5ba4fbe into openstack-charmers:stable/xena Dec 14, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants